package com.youlai.boot.system.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;

/**
 * 电池列表表单对象
 *
 * @author liwenbing
 * @since 2025-04-09 12:31
 */
@Getter
@Setter
@Schema(description = "电池列表表单对象")
public class SysDianciListForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private Long id;

    @Schema(description = "电池编号")
    @NotBlank(message = "电池编号不能为空")
    @Size(max=64, message="电池编号长度不能超过64个字符")
    private String no;

    @Schema(description = "电池型号")
    @NotBlank(message = "电池型号不能为空")
    @Size(max=64, message="电池型号长度不能超过64个字符")
    private String spec;

    @Schema(description = "容量")
    @NotBlank(message = "容量不能为空")
    @Size(max=64, message="容量长度不能超过64个字符")
    private String volume;

    @Schema(description = "制造商")
    @NotBlank(message = "制造商不能为空")
    @Size(max=64, message="制造商长度不能超过64个字符")
    private String manufacturer;

    @Schema(description = "生产日期")
    @NotNull(message = "生产日期不能为空")
    private LocalDate manufacturerDate;

    @Schema(description = "生产批次")
    @NotBlank(message = "生产批次不能为空")
    @Size(max=64, message="生产批次长度不能超过64个字符")
    private String productionBatch;

    @Schema(description = "状态")
    @NotNull(message = "状态不能为空")
    private Integer dianciState;

    @Schema(description = "备注")
    @Size(max=255, message="备注长度不能超过255个字符")
    private String remark;


}
